The Free Ride ^^^^^ **Definition:** * When an extra assertion is added in an existing test to cover a new scenario case **Also Known As:** * Eager Test **Code Example:** .. code-block:: java public void CalculateDiscount_ExpectedDiscountForFirstTimePurchase() { //Arrange decimal expected = 0.1M; decimal expectedResultAge = 0.2M; var sut = new DiscountCalculator(); //Act var result = sut.CalculateDiscount(true, 30); var resultAge = sut.CalculateDiscount(false, 65); //Assert Assert.Equal(expected, result); Assert.Equal(expectedResultAge, resultAge); } **References:** .. admonition:: Quality attributes * :octicon:`file-code;1em` - Code Example * :octicon:`comment-discussion;1em` - Cause and Effect * :octicon:`graph;1em` - Frequency * :octicon:`sync;1em` - Refactoring * `Anti-Patterns - Digital Tapestry `_ * `Smells in software test code: A survey of knowledge in industry and academia `_ * `TDD Anti-patterns: The Free Ride / Piggyback `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em` * `TDD and anti-patterns - Chapter 5 `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em` * `Tdd antipatterns: The free ride `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em` * `Test-Driven Development: TDD Anti-Patterns `_ * `Unit Testing Anti-Patterns, Full List `_ * `Unit testing Anti-patterns catalogue `_